// import formulaEditor from "easy-formula-editor";
// const editor2 = new formulaEditor();
// editor2.create('#test');
class formula {
  // TS 语法
  // class MyModalMenu {                       // JS 语法

  constructor() {
    this.title = '公式'
    this.iconSvg =
      '<svg t="1661590722653" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1995" width="48" height="48"><path d="M552.0896 565.90336L606.03392 512l-53.94432-53.90336L290.6112 196.83328l551.0144-0.29696v-76.25728l-659.17952 0.3584v76.25728L498.14528 512 182.3744 827.50464v75.85792l659.17952 0.3584v-76.25728l-551.0144-0.29696 261.55008-261.26336" p-id="1996"></path></svg>'
    this.tag = 'button'
    this.showModal = true
    this.modalWidth = 300
  }

  // 菜单是否需要激活（如选中加粗文本，“加粗”菜单会激活），用不到则返回 false
  isActive(editor) {
    // TS 语法
    // isActive(editor) {                      // JS 语法
    return false
  }

  // 获取菜单执行时的 value ，用不到则返回空 字符串或 false
  getValue(editor) {
    // TS 语法
    // getValue(editor) {                               // JS 语法
    return ''
  }

  // 菜单是否需要禁用（如选中 H1 ，“引用”菜单被禁用），用不到则返回 false
  isDisabled(editor) {
    // TS 语法
    // isDisabled(editor) {                     // JS 语法
    return false
  }

  // 点击菜单时触发的函数
  exec(editor, value) {
    // TS 语法
    // exec(editor, value) {                              // JS 语法
    // Modal menu ，这个函数不用写，空着即可
  }

  // 弹出框 modal 的定位：1. 返回某一个 SlateNode； 2. 返回 null （根据当前选区自动定位）
  getModalPositionNode(editor) {
    // TS 语法
    // getModalPositionNode(editor) {                             // JS 语法
    return null // modal 依据选区定位
  }

  // 定义 modal 内部的 DOM Element
  getModalContentElem(editor) {
    // TS 语法
    // getModalContentElem(editor) {                        // JS 语法

    const content = document.createElement('div');
    // content.setAttribute('id','test');

    // $button.addEventListener('click', () => {
    //   editor.setHtml('hello')
    // })

    return content // 返回 DOM Element 类型

    // PS：也可以把 $content 缓存下来，这样不用每次重复创建、重复绑定事件，优化性能
  }
}

export const menu1Conf = {
  key: 'keFormula', // 定义 menu key ：要保证唯一、不重复（重要）
  factory() {
    return new formula() // 把 `YourMenuClass` 替换为你菜单的 class
  }
}
